﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ABC_SA_BLV;
//using ABC_SA_DM;
using ABC_SA_WEB.WebServicePaquete;
using ABC_SA_WEB.WebServiceCliente;
using ABC_SA_WEB.WebServiceFactura;
//using ABC_SA_WEB.WebServiceUsuario;
using System.Web.Services;
using System.Diagnostics;

namespace ABC_SA_WEB
{
    public partial class VentaPaquetes : System.Web.UI.Page
    {

        

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                
                string cliente = (string)(Session["usuario"]);
                consultarDatos(cliente);
                updateGrid();
            }
        }

        private void consultarDatos(string cliente)
        {
            wsCliente wsCliente = new wsCliente();
            ABC_SA_WEB.WebServiceCliente.Cliente cl = wsCliente.getCliente(cliente);

            if (cl != null)
            {
                Usuario u = wsCliente.getUsuario(cliente);
                if (u != null)
                {
                    lblUsuario.Text = " " + u.UserName;
                    lblNombreCliente.Text = " " + cl.Nombre + " " + cl.ApellidoPat + " " + cl.ApellidoMat;

                }
            }  

        }
        public void updateGrid()
        {

            //Llamado a la capa WS
            wsPaquete Paquete_WS = new wsPaquete();

            // Consulta la lista de paquetes
            dgvVenta.DataSource = Paquete_WS.consultaPaquetes();
            // Inserta la informacion en las columnas
            dgvVenta.AutoGenerateColumns = false;
            dgvVenta.DataBind();
        }

        protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
        {

            
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //string paquete = ((DataBoundLiteralControl)e.Row.Cells[0]).Text;
                string precio = DataBinder.Eval(e.Row.DataItem, "precioSG").ToString();
                string paquete = "return showDialog('" + DataBinder.Eval(e.Row.DataItem, "nombreSG").ToString() + "','" + DataBinder.Eval(e.Row.DataItem, "idSG").ToString() + "', '" + precio + "');";
                ((ImageButton)e.Row.Cells[5].Controls[0]).OnClientClick = paquete; // add any JS you want here
                
                
               // ((ImageButton)e.Row.Cells[4].Controls[0]).OnClientClick = "alert('holaaaaaa Kimy');"; // add any JS you want here

            }
            
        }

        protected void cantidadCompra_SelectedIndexChanged(object sender, EventArgs e)
        {
            Int32 cantidad = Int32.Parse(cantidadCompra.SelectedItem.ToString());
            
         //   Int32 totalPrecio = 
        }

 
        protected void btnComprar_Click(object sender, EventArgs e)
        {
            Factura_BLV wsFactura = new Factura_BLV();

            string hola = hiddenCantidad.Value;

            Int32 cantidadPaquetes = Int32.Parse(hiddenCantidad.Value);
            Int32 montoTotal1 = Int32.Parse(hiddenPrecio.Value);
            Int32 idPaquete = Int32.Parse(hiddenIdPaquete.Value);

            ABC_SA_DM.Paquete paque = new ABC_SA_DM.Paquete();
            paque.idSG = idPaquete;
            paque.precioSG = Int32.Parse(hiddenPrecioUnidad.Value);
            wsFactura.agregarDetalleA_Factura(paque, cantidadPaquetes);

            string usuario = (string)(Session["usuario"]);
            ABC_SA_DM.Cliente clien = new ABC_SA_DM.Cliente();
            clien.UserName = usuario;

            wsFactura.agregarClienteA_Factura(clien);
            if (wsFactura.facturar()) {
                string numeroFactura = wsFactura.obtenerFactura().numeroFactura.ToString(); // obtiene el numero de factura
                mostrarMensaje("Se realizó correctamente la venta FACTURA: "+numeroFactura);
            }


        }

        private void mostrarMensaje(string mensaje)
        {

            string csname1 = "PopupScript";
            Type cstype = this.GetType();
            string cstext1 = Utilitario.mensajeJS(mensaje);
            ClientScript.RegisterStartupScript(cstype, csname1, cstext1);
        }

        protected void btnVolver_Click(object sender, EventArgs e)
        {
            Response.Redirect("PaginaCliente.aspx");
        }

    }
}